import pygame
import time

pygame.init()

#创建窗体
screen: pygame.surface.Surface = pygame.display.set_mode(size=(640,480))


#窗口标题
pygame.display.set_caption("飞机大战v1.0")

#窗口图标
icon_image = pygame.image.load("res/icon.png")
pygame.display.set_icon(icon_image)
COLOR = (0,0,255)#R(0-255) G(0-255) B(0-255)
plane_image = pygame.image.load("res/hero2.png")

plane_image = pygame.transform.rotate(plane_image, 90)

clock = pygame.time.Clock()

counter = 0
#准备图片


# fps -Frame Per Second 帧率 （灭秒绘制多少帧）



def new_func(start, end):
    duration = end - start #当前帧的耗时   60hz 144hz 240hz 
    if duration != 0:      
     print("duration:{} fps:{}".format(duration,1/duration) )

while True:
    
    start = time.time()
    
    #处理事件，获取用户输入的事件
    event_list = pygame.event.get()
    #解析处理所有的事件
    #event.type 保存了用户输入的事件类型 :鼠标。案件
    #event.key 保存了按下或抬起的按键
    for event in event_list:
        if event.type == pygame.QUIT:
            print("点击了关闭")
            #退出游戏
            pygame.display.quit()
            exit(0)
        elif event.type == pygame.KEYDOWN:
            print("按键按下：",event.key)
            #上。下。左。右。空格
            if event.key == pygame.K_UP:
                print("向上")
            elif   event.key == pygame.K_DOWN:  
                print("向下")
            elif   event.key == pygame.K_LEFT:  
                print("向左")
            elif   event.key == pygame.K_RIGHT:  
                print("向右")
                
    #绘制界面-----------------------------------------
    screen.fill(COLOR)       
    
    #绘制图片
    screen.blit(plane_image,(100,100))
    #通过主动休眠减少刷新速度
    time.sleep(0.1)

    #刷新界面
    pygame.display.flip()  
    
    clock.tick(10) #10帧/秒
    print("fps:",clock.get_fps())